package com.dog.basics.common.fluorite.request;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @description: 获取直播地址信息
 * @author: He
 * @date: Created in 2020/7/8 16:57
 * @version: 1.0
 * @modified By:
 */
@Data
@ApiModel(value = "直播地址信息")
public class RequestLiveBroadcastVo {

    /**
     * 设备序列号,存在英文字母的设备序列号，字母需为大写
     */
    @ApiModelProperty(value = "设备序列号",dataType = "String")
    private String deviceSerial;

    /**
     * 通道号
     */
    @JsonIgnore
    @ApiModelProperty(value = "通道号",dataType = "String",hidden = true)
    private Integer channelNo;

    /**
     * 设备名称
     */
    @JsonIgnore
    @ApiModelProperty(value = "设备名称",dataType = "String",hidden = true)
    private String deviceName;

    /**
     * HLS流畅直播地址
     */
    @ApiModelProperty(value = "HLS流畅直播地址",dataType = "String")
    private String liveAddress;

    /**
     * HLS高清直播地址
     */
    @ApiModelProperty(value = "HLS高清直播地址",dataType = "String")
    private String hdAddress;

    /**
     * RTMP流畅直播地址
     */
    @ApiModelProperty(value = "RTMP流畅直播地址",dataType = "String")
    private String rtmp;

    /**
     * RTMP高清直播地址
     */
    @ApiModelProperty(value = "RTMP高清直播地址",dataType = "String")
    private String rtmpHd;

    /**
     * 地址使用状态：0-未使用或直播已关闭，1-使用中，2-已过期，3-直播已暂停，0状态不返回地址，其他返回
     */
    @ApiModelProperty(value = "地址使用状态(0-未使用或直播已关闭，1-使用中，2-已过期，3-直播已暂停，0状态不返回地址，其他返回)",dataType = "Integer")
    private Integer status;

    /**
     * 地址异常状态：0-正常，1-设备不在线，2-设备开启视频加密，3-设备删除，4-失效，5-未绑定，6-账户下流量已超出，7-设备接入限制，0/1/2/6状态返回地址，其他不返回
     */
    @ApiModelProperty(value = "地址异常状态 (0-正常，1-设备不在线，2-设备开启视频加密，3-设备删除，4-失效，5-未绑定，6-账户下流量已超出，7-设备接入限制，0/1/2/6状态返回地址，其他不返回)",dataType = "Integer")
    private Integer exception;

    /**
     * 开始时间，long格式如1472694964067，精确到毫秒。expireTime参数为空时该字段无效
     */
    @JsonIgnore
    @ApiModelProperty(hidden = true)
    private Long beginTime;

    /**
     * 过期时间，long格式如1472794964067，精确到毫秒。expireTime参数为空时该字段无效
     */
    @JsonIgnore
    @ApiModelProperty(hidden = true)
    private Long endTime;


}